so long and thanks for all the fish numpy x.x#415
Conversation
| conda-forge builds against. | ||
| If you have a package which links\* against numpy you need to build against the oldest possible version of numpy that is forwards compatible. | ||
| That can be achieved by pinning the build requirements and letting "free" the run requirements. | ||
| At the moment these are the oldest available numpy versions in conda-forge that you can use: |
There was a problem hiding this comment.
These are not the oldest available versions in conda-forge right? They are pulled in from defaults, right?
There was a problem hiding this comment.
FWICT it looks like they have been added as branches to the feedstock. So they are coming from conda-forge.
ref: https://github.com/conda-forge/numpy-feedstock/tree/numpy17
ref: https://github.com/conda-forge/numpy-feedstock/tree/numpy19
There was a problem hiding this comment.
These are not the oldest available versions in conda-forge right? They are pulled in from defaults, right?
We added some LTS branches just for this.
Thanks for the review @isuruf!
|
One thing we should consider is maybe use only |
|
@conda-forge/core -- are we sure we want to do this? I agree that having fewer builds is better, but if I remember correctly, the original motivation for numpy pinning was that the ABI is not always compatible across releases. If that has changed, great...and I know 100% for sure that I'm not up-to-date with the latest on numpy pinning. Mostly I'm writing based painful memories of about 4 years ago... 😰 |
|
This is the same strategy used for wheels and we need to watch for future |
|
Thanks for the reference, @ocefpaf. A few more questions:
This seems like a big enough change in how we build that we should commit to it cautiously, and maybe ask for helping in additional testing. |
In theory it should not b/c the
We discussed this extensively at SciPy and I believe that is the direction
The changes are actually more trivial than they seem. Not sure we need a CFEP, but if you really want we can compile the various texts in the issue and submit one. |
|
Thanks for the additional explanation!
Given your comments then maybe just announce on the conda-forge mailing list. If this is an opt-in thing (i.e. we are not going to run a script to rewrite recipes), then agree that it is not very disruptive. |
It is Thanks for looking at this @mwcraig! |
|
As noted in the |
I disagree that is ambitious b/c is works fine with all packages that supports np17, like matplolitb and pandas, and that does not links to openblas. With that said I already mentioned that we should consider np19 as the lower bound for simplicity.
That is not an issue. See the logs of those builds for more information. |
|
There is a concern regarding other There seems to be some confusion on how this is supposed to work. This docs are examples only! And the guideline is "oldest possible Merging this so people can modify the lingo here to fit their interpretations. |
|
How does Also how can I best test a package when I want to convert it to use this scheme? |
We do need to re-render with
Using that building scheme the package will be built with the older PS: here is the latest version of this docs https://github.com/conda-forge/conda-forge.github.io/pull/421/files |
@isuruf as requested here are some docs on the
numpypinning. Can you take a look?@jjhelmus I would like your input too since you are the most experienced on this topic 😉